package com.linko.intelligent.remote.pojo.po;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.linko.intelligent.common.util.CustomDateDeserializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
public class Ioco {

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id", position = 0)
    @JsonProperty("id")
    private Long id;

    /**
     * 设备号
     */
    @ApiModelProperty(value = "设备号", position = 3)
    @JsonProperty("sn")
    private String sn;

    /**
     * 车辆编号
     */
    @ApiModelProperty(value = "车辆编号", position = 4)
    @JsonProperty("carNo")
    private String carNo;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度", position = 5)
    @JsonProperty("lng")
    private String lng;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度", position = 6)
    @JsonProperty("lat")
    private String lat;

    /**
     * 速度
     */
    @ApiModelProperty(value = "速度", position = 7)
    @JsonProperty("speed")
    private Double speed;

    /**
     * 高度
     */
    @ApiModelProperty(value = "高度", position = 8)
    @JsonProperty("height")
    private Double height;

    /**
     * 方向
     */
    @ApiModelProperty(value = "方向", position = 9)
    @JsonProperty("direction")
    private Long direction;

    /**
     * 定位状态
     */
    @ApiModelProperty(value = "定位状态", position = 10)
    @JsonProperty("locationStatus")
    private Long locationStatus;

    /**
     * 点火状态
     */
    @ApiModelProperty(value = "点火状态", position = 11)
    @JsonProperty("acc")
    private Long acc;

    /**
     * 总里程
     */
    @ApiModelProperty(value = "总里程", position = 12)
    @JsonProperty("mileage")
    private Double mileage;

    /**
     * 单次行使里程
     */
    @ApiModelProperty(value = "单次行使里程", position = 13)
    @JsonProperty("onceMieage")
    private Double onceMieage;

    /**
     * 发动机转数
     */
    @ApiModelProperty(value = "发动机转数", position = 14)
    @JsonProperty("engineNum")
    private Long engineNum;

    /**
     * 发动机转速rpm
     */
    @ApiModelProperty(value = "发动机转速rpm", position = 15)
    @JsonProperty("engineRpm")
    private Long engineRpm;

    /**
     * 发动机油压
     */
    @ApiModelProperty(value = "发动机油压", position = 16)
    @JsonProperty("engineKpa")
    private Double engineKpa;

    /**
     * 发动机温度
     */
    @ApiModelProperty(value = "发动机温度", position = 17)
    @JsonProperty("engineOilTemperature")
    private Double engineOilTemperature;

    /**
     * 发动机冷却液温度
     */
    @ApiModelProperty(value = "发动机冷却液温度", position = 18)
    @JsonProperty("engineCoolantTemperature")
    private Double engineCoolantTemperature;

    /**
     * 总工时
     */
    @ApiModelProperty(value = "总工时", position = 19)
    @JsonProperty("workHour")
    private Double workHour;

    /**
     * 当次工时
     */
    @ApiModelProperty(value = "当次工时", position = 20)
    @JsonProperty("onceWorkHour")
    private Double onceWorkHour;

    /**
     * 电压
     */
    @ApiModelProperty(value = "电压", position = 21)
    @JsonProperty("voltage")
    private Double voltage;

    /**
     * 报警码
     */
    @ApiModelProperty(value = "报警码", position = 22)
    @JsonProperty("alarmCode")
    private String alarmCode;

    /**
     * 油量
     */
    @ApiModelProperty(value = "油量", position = 23)
    @JsonProperty("oilVolume")
    private Double oilVolume;

    /**
     * 平均油耗
     */
    @ApiModelProperty(value = "平均油耗", position = 24)
    @JsonProperty("averageOilConsumption")
    private Double averageOilConsumption;

    /**
     * 上传到物联中台的时间
     */
    @ApiModelProperty(value = "上传到物联中台的时间")
    private Date uploadTime;

    /**
     * 数据同步到物联中台的时间
     */
    @JSONField(deserializeUsing = CustomDateDeserializer.class)
    @ApiModelProperty(value = "数据同步到物联中台的时间")
    private Date createTime;

    /**
     * 数据同步到远程监控的时间
     */
    @ApiModelProperty(value = "数据同步到远程监控的时间")
    private Date IntCreateTime;

}
